#include <vector>

#include "gtest/gtest.h"

using std::vector;
extern int solution1( vector<char>& A, vector<char>& B );
extern int solution2( vector<char>& A, vector<char>& B );
extern int solution3( vector<char>& A, vector<char>& B );

namespace
{
TEST( LCS, sample1 )
{
    vector<char> A        = { 'a', 'b', 'c', 'd', 'e', 'f', 'g' };
    vector<char> B        = { 'b', 'c', 'j', 'k', 'f', 'i' };
    int          expected = 3;  // { 'b', 'c', 'f' };
    auto         got1{ solution1( A, B ) };
    auto         got2{ solution2( A, B ) };
    auto         got3{ solution3( A, B ) };
    ASSERT_TRUE( expected == got1 );
    ASSERT_TRUE( expected == got2 );
    ASSERT_TRUE( expected == got3 );
}
}  // namespace